<head><meta charset='UTF-8'></head><h2>函数</h2>


数学上的函数，是指给定一个输入，就会有唯一输出的一种对应关系。编程语言里的函数跟这个意思差不多，但也有不同。
编程中所说的函数，就是一堆语句组成的语句块，这个语句块有个名字，你可以在需要时反复地使用这块语句。它有可能需要输入，有可能会返回输出。
 
举一个现实中的场景：我们去餐厅吃饭，跟服务员点了菜，过了一会儿，服务员把做好的菜端上来。

餐厅的厨房就可以看作是一个函数
我们点的菜单，就是给这个函数的参数（对函数来说就是输入）
厨师在厨房里做菜的过程就是这个函数的执行过程
做好的菜是返回结果，返回到我们的餐桌上（函数的返回值）

 
我们之前已经用到过 python 里内建的函数，比如 input 和 range。
 
以 range(1,10) 为例，range 是这个函数的名称，后面括号里的1和10是 range 需要的参数。它有返回结果，就是一个从1到9的序列生成器（暂时你可以理解为，就是1~9九个数字）。
 
再来看 input()，括号里面什么都没有，表示我们没有给参数。函数执行过程中，需要我们从控制台输入一个值。函数的返回结果就是我们输入的内容。
 
PS：range 还可以接受1个或3个参数，input也可以接受1个字符串参数。可以等我之后几课来讲，或者尝试在网上搜索下“python range 参数”。
 
如果我们要自己写一个函数，就需要去 定义 它。python里的关键字叫 def（define的缩写），格式如下：
def sayHello():
   print ('hello world!')
 
sayHello 是这个函数的名字，后面的括号里是参数，这里没有，表示不需要参数。但括号和后面的冒号都不能少。下面缩进的代码块就是整个函数的内容，称作函数体。
 
然后我们去调用这个函数，就是用函数名加上括号，有必要的话，括号里放参数：
sayHello()
 
得到和直接执行print ('hello world!')一样的结果。
 

 

